package logger

import (
	"io"
	"log"
	"os"
)

var (
	// Info 记录普通日志输出
	Info *log.Logger
	// Warning 记录警告日志输出
	Warning *log.Logger
	// Error 记录错误日志输出
	Error *log.Logger
)

func init() {
	// 抬头信息: 时间+文件名+源代码
	log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
	errFile, err := os.OpenFile("../errors.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
	if err != nil {
		log.Fatalln("打开错误日志文件失败：", err)
	}

	warnFile, err := os.OpenFile("../warn.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
	if err != nil {
		log.Fatalln("打开警告日志文件失败：", err)
	}

	Info = log.New(os.Stdout, "Info:", log.Ldate|log.Ltime|log.Lshortfile)
	Warning = log.New(io.MultiWriter(os.Stdout, warnFile), "Warning:", log.Ldate|log.Ltime|log.Lshortfile)
	Error = log.New(io.MultiWriter(os.Stderr, errFile), "Error:", log.Ldate|log.Ltime|log.Lshortfile)
}
